1. Field of the Invention
This invention relates to the field of data processing systems. More particularly, this invention relates to the remapping of selected data access requests.
2. Description of the Prior Art
Data processing systems often use read only memory, ROM for storing information. One example of such a ROM is a flash device, this can be viewed effectively as a read only memory as it is only writable to under certain extremely restrictive conditions. One drawback of many ROMs and of flash devices in particular is that they can be slow to access. Thus, when operating code that is stored on a flash, it is generally copied to the SRAM prior to being executed. Not only does this increase the speed of execution of the code, it also allows portions of it to be overwritten. Thus, literals in the code can be updated and if the code is to be debugged then breakpoints can be inserted into the code.
In some circumstances, however, in particular, in small processing systems such as mobile phones, the Flash may be used to execute the code stored on it. This means that effective debugging of the code, or any system overwrite of literals, instructions or other data is not feasible.
One way in which this problem has been addressed is to provide a means of intercepting data access requests from the core to the Flash with the ability in selected circumstances of capturing the intercepted data access requests and supplying from a special storage location, in which replacement data is stored. This provides effective overwriting of the stored data as far as the core is concerned, although in reality the stored data is not altered. This has conventionally been done by inserting an intercepting device, which can be configured as a cache and contain a block range (“line”) of replacement data, into the bus that routes data requests from the core to the Flash device. This device intercepts data access requests from the core to the Flash and compares the address of the data item to be accessed with some addresses that it has stored. If there is a match then it supplies the data from its own store. This replacement data item is stored in a special storage location consisting of D-type flip flops. In this way data access requests to certain data items never reach the Flash, rather the replacement items stored in the D-type flip flops are returned to the core. As far as the core is concerned the data items have been overwritten. A figure schematically showing this prior art device is shown in FIG. 1. As can be seen the data interceptor lies in the bus between the Flash and core and is connected to a set of D type flip flops that are used to store the replacement data items.
A problem with these devices of the prior art is that sufficient dedicated D-type flip flops for storing as many replacement data items as may be needed are required. These are only used for this purpose and thus, this way of providing a replacement of a data access request is expensive.